package com.shanghaionstar.remote.model;

import com.onstar.cn.mag.enumtype.RemoteCommandsType;
import com.onstar.cn.map.common.PoiItemInfo;
import com.shanghaionstar.discover.model.WifiInfoModel;

import java.io.Serializable;

/**
 * Created by 6335yz on 2016/7/1.
 */
public class RemoteModel  implements Serializable{
    private RemoteCommandsType remoteCommandsType;
    private String alertMsg;
    private CommandStatus commandStatus;
    private boolean isHorn;
    private boolean isFlash;
    public PoiItemInfo poiItemInfo;
    public WifiInfoModel model;
    public String requestId;
    /**
     * 充电用
     */
    private String body;



    private RemoteModel(RemoteCommandsType remoteCommandsType, String alertMsg, CommandStatus commandStatus, boolean isHorn, boolean isFlash, String body) {
        this.remoteCommandsType = remoteCommandsType;
        this.alertMsg = alertMsg;
        this.commandStatus = commandStatus;
        this.isHorn = isHorn;
        this.isFlash = isFlash;
        this.body = body;
    }

    public static class Builder {
        private RemoteCommandsType remoteCommandsType;
        private String alertMsg;
        private CommandStatus commandStatus;
        private boolean isHorn = true;
        private boolean isFlash = true;
        private String body;

        public Builder setBody(String body) {
            this.body = body;
            return this;
        }

        public Builder setHorn(boolean horn) {
            this.isHorn = horn;
            return this;
        }

        public Builder setFlash(boolean flash) {
            this.isFlash = flash;
            return this;
        }

        public Builder setCommandStatus(CommandStatus commandStatus) {
            this.commandStatus = commandStatus;
            return this;
        }

        public Builder setRemoteCommandsType(RemoteCommandsType remoteCommandsType) {
            this.remoteCommandsType = remoteCommandsType;
            return this;
        }

        public Builder setAlertMsg(String alertMsg) {
            this.alertMsg = alertMsg;
            return this;
        }

        public RemoteModel create() {
            return new RemoteModel(remoteCommandsType, alertMsg, commandStatus, isHorn, isFlash,body);
        }

    }

    public boolean isHorn() {
        return isHorn;
    }

    public void setHorn(boolean horn) {
        isHorn = horn;
    }

    public boolean isFlash() {
        return isFlash;
    }

    public void setFlash(boolean flash) {
        isFlash = flash;
    }

    public CommandStatus getCommandStatus() {
        return commandStatus;
    }

    public void setCommandStatus(CommandStatus commandStatus) {
        this.commandStatus = commandStatus;
    }

    public RemoteCommandsType getRemoteCommandsType() {
        return remoteCommandsType;
    }

    public void setRemoteCommandsType(RemoteCommandsType remoteCommandsType) {
        this.remoteCommandsType = remoteCommandsType;
    }

    public String getAlertMsg() {
        return alertMsg;
    }

    public void setAlertMsg(String alertMsg) {
        this.alertMsg = alertMsg;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }
}
